/////////////////////////////////////////////////////////////////////////////
// Name:        SetupWizard.h
// Purpose:     
// Author:      yospaly
// Modified by: 
// Created:     05/01/2010 09:38:01
// RCS-ID:      
// Copyright:   Copyright (C) 2008, yospaly
// Licence:     
/////////////////////////////////////////////////////////////////////////////

#ifndef _SETUPWIZARD_H_
#define _SETUPWIZARD_H_


/*!
 * Includes
 */

////@begin includes
#include "wx/wizard.h"
#include "wx/statline.h"
////@end includes

/*!
 * Forward declarations
 */

////@begin forward declarations
class WelcomePage;
class RootdirPage;
class wxDirPickerCtrl;
class LocaldirPage;
class MirrorlistPage;
class MirrorlistPanel;
class DownloadIniPage;
class DownloadIniPanel;
////@end forward declarations

/*!
 * Control identifiers
 */

////@begin control identifiers
#define ID_SETUP_WIZARD 10032
#define ID_MIRRORLISTPAGE1 10002
#define ID_MIRRORLISTPANEL 10003
#define SYMBOL_SETUPWIZARD_IDNAME ID_SETUP_WIZARD
////@end control identifiers


/*!
 * SetupWizard class declaration
 */

class SetupWizard: public wxWizard
{    
    DECLARE_DYNAMIC_CLASS( SetupWizard )
    DECLARE_EVENT_TABLE()

public:
    /// Constructors
    SetupWizard();
    SetupWizard( wxWindow* parent, wxWindowID id = SYMBOL_SETUPWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );

    /// Creation
    bool Create( wxWindow* parent, wxWindowID id = SYMBOL_SETUPWIZARD_IDNAME, const wxPoint& pos = wxDefaultPosition );

    /// Destructor
    ~SetupWizard();

    /// Initialises member variables
    void Init();

    /// Creates the controls and sizers
    void CreateControls();

////@begin SetupWizard event handler declarations

////@end SetupWizard event handler declarations

////@begin SetupWizard member function declarations

    /// Runs the wizard
    bool Run();

    /// Retrieves bitmap resources
    wxBitmap GetBitmapResource( const wxString& name );

    /// Retrieves icon resources
    wxIcon GetIconResource( const wxString& name );
////@end SetupWizard member function declarations

    /// Should we show tooltips?
    static bool ShowToolTips();

////@begin SetupWizard member variables
    WelcomePage* p_welcome_page;
    RootdirPage* p_rootdir_page;
    LocaldirPage* p_localdir_page;
    MirrorlistPage* p_mirrors_page;
    DownloadIniPage* p_download_ini_page;
////@end SetupWizard member variables
};

#endif
    // _SETUPWIZARD_H_
